home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / InterLaunch 1.1.2 / src / macppp / headers.h next >
Text File  |  1995-06-07  |  1KB  |  66 lines

  1. /* headers.h --  TCP/IP header structures
  2.  *
  3.  * Copyright 1992-1993 Merit Network, Inc. and The Regents of the
  4.  *  University of Michigan.  Usage of this source code is restricted
  5.  *  to non-profit, non-commercial purposes.  The source is provided
  6.  *  "as-is", without warranty.
  7.  */
  8.  
  9. #define TCP_PROTOCOL 6
  10. /* ip flags */
  11. #define IP_MORE_FRAG 0x2000
  12. #define IP_DONT_FRAG 0x4000
  13. /* tcp flags */
  14. #define TCP_FIN 0x01
  15. #define TCP_SYN 0x02
  16. #define TCP_RST 0x04
  17. #define TCP_PUSH 0x08
  18. #define TCP_ACK 0x10
  19. #define TCP_URG 0x20
  20. /*  header lengths */
  21. #define IPHLEN 20
  22. #define TCPHLEN 20
  23. #define MAXIPOPTLEN 40
  24. #define MAXTCPOPTLEN 40
  25. /* field offsets for looking into packet */
  26. #define IP_PROTO_OFFSET 9
  27. #define IP_OFFSET_OFFSET 6
  28. #define IP_SOURCE_OFFSET 12
  29. #define IP_DEST_OFFSET 16
  30. #define TCP_WINDOW_OFFSET 14
  31. #define TCP_CHECKSUM_OFFSET 16
  32.  
  33. struct ipheader {
  34.     b_8        version;    /* version and header length */
  35.     b_8        tos;
  36.     b_16    length;
  37.     b_16    id;
  38.     b_16    offset;
  39.     b_8        ttl;
  40.     b_8        protocol;
  41.     b_16    checksum;
  42.     b_32    source_addr;
  43.     b_32    dest_addr;
  44.     b_8        options[MAXIPOPTLEN];        /* options baggage */
  45. };
  46.  
  47. struct tcpheader {
  48.     b_16    source_port;
  49.     b_16    dest_port;
  50.     b_32    sequence;
  51.     b_32    acknowledge;
  52.     b_8        offset;
  53.     b_8        flags;
  54.     b_16    window;
  55.     b_16    checksum;
  56.     b_16    urgent_pointer;
  57.     b_8        options[MAXTCPOPTLEN];
  58. };
  59.  
  60. /* tcp flags */
  61. #define TCP_FIN 0x01
  62. #define TCP_SYN 0x02
  63. #define TCP_RESET 0x04
  64. #define TCP_PUSH 0x08
  65. #define TCP_ACK 0x10
  66. #define TCP_URGENT 0x20